import { stringify } from 'qs'
import request from '@/utils/request'
import { getNoUndefinedString } from '@/utils/utils'

/**
 * 查询用户列表
 * @param {*} params = {
 *  currentPage,
 *  email,
 *  pageSize,
 *  realityName: 姓名,
 *  wxpartId: 部门数据id
 * }
 */
export async function getUserList({ pageSize = 10, ...args }) {
  return request('/cuser/findUserInfoList', {
    method: 'POST',
    data: {
      pageSize,
      ...args,
    },
  })
}

/**
 * 通过id 获取用户信息
 */
export async function getUserById(params) {
  return request('/cuser/findUserInfoById', {
    method: 'POST',
    data: params,
  })
}

// 保存用户信息
export async function saveUser(params) {
  const url = params.id ? '/cuser/updateUser' : '/cuser/createUser'
  return request(url, {
    method: 'POST',
    data: {
      ...params,
    },
  })
}

// 根据ID删除用户
export async function delUser(params) {
  return request('/cuser/delUser', {
    method: 'POST',
    data: {
      ...params,
    },
  })
}

// 查询用户列表
export async function listUser(params) {
  return request(`/account/list?${stringify(params)}`)
}
// 根据id获取用户信息
export async function getUser(params) {
  return request(`/account/get/${getNoUndefinedString(params.id)}`)
}
// 校验编码唯一性
export async function checkUnique(params) {
  return request('/account/checkUnique', {
    method: 'POST',
    data: {
      ...params,
    },
  })
}
// // 保存用户信息
// export async function saveUser(params) {
//   return request('/account/edit', {
//     method: 'POST',
//     data: {
//       ...params,
//     },
//   })
// }
// // 根据ID删除用户
// export async function delUser(params) {
//   return request('/account/del', {
//     method: 'POST',
//     data: {
//       ...params,
//     },
//   })
// }

// 切换锁定状态
export async function lockUser(params) {
  return request('/account/lock', {
    method: 'POST',
    data: {
      ...params,
    },
  })
}

/**
 *  根据部门id获取其下用户
 * @param {*} params
 */
export async function getUsersByOrgId(id) {
  return request('/cuser/findUserInfoByOrgId', {
    method: 'POST',
    data: {
      id,
    },
  })
}
